package cn.tedu.spring.bean;

import cn.tedu.spring.eg1.Product;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Repository;

@Repository
public class UserDao {
    /*
    value是依赖注入，是一个注解。
    1.但是只能注入简单类型的数据：基本类型包括String类型
    2.引入时无论哪种类型都需要放在字符串中。比如"123","1.2","string"注入时会自动类型转换
    3.添加的位置
        3.1 属性前
        3.2 set方法(一般不使用)
        3.3 构造方法(不行)
     */
    @Value("jdbc:mysql://localhost:3306/mayikt" )
    private String url;
    @Value("root")
    private String username;
    @Value("123456")
    private String password;

    /*
    这时和comparator一样在引用内部存在许多类型的数据使用value注解就不合适了
    */
//    @Value("aaa")
//    private Product product;

    @Value("root")
    public void setPassword(String password) {
        this.password = password;
    }


    @Override
    public String toString() {
        return "UserDao{" +
                "url='" + url + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}
